Method and apparatus for reducing multi-user processing in wireless communication systems

ABSTRACT

A method and apparatus is disclosed for reducing multi-user processing at the receiver in wireless communication systems. Detected codes are grouped according to channel impulse response and a parent code is identified for each group of detected codes. A matrix A is constructed and joint detection is performed using the identified parent codes. Data symbols of the detected codes are obtained from the data symbols of the identified parent codes.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.12/574,176, filed Oct. 6, 2009, which issues as U.S. Pat. No. 8,036,181on Oct. 11, 2011, which is a continuation of U.S. patent applicationSer. No. 10/924,442, filed Aug. 24, 2004, which issued as U.S. Pat. No.7,599,344 on Oct. 6, 2009, which claims the benefit of U.S. ProvisionalApplication Ser. No. 60/577,898, filed Jun. 8, 2004, the contents ofwhich are incorporated by reference herein.

FIELD OF INVENTION

The present invention relates to wireless communication systems. Moreparticularly, the present invention relates reduced multi-userprocessing in wireless communication systems.

BACKGROUND

In code division multiple access (CDMA) communication systems, multiplecommunications may be simultaneously sent over a shared frequencyspectrum. Each communication is distinguished by the code used totransmit the communication. Data symbols of a communication are spreadusing chips of the code. The number of chips used to transmit aparticular symbol is referred to as the spreading factor. One commonspreading factor is sixteen (16), where sixteen chips are used totransmit one symbol. By way of example, typical spreading factors (SF)are 16, 8, 4, 2 and 1 in TDD/CDMA communication systems.

In some CDMA communication systems, to better utilize the sharedspectrum, the spectrum is time divided into frames having apredetermined number of time slots, such as fifteen time slots. Thistype of system is referred to as a hybrid CDMA/time division multipleaccess (TDMA) communication system. One such system, which restrictsuplink communications and downlink communications to particular timeslots, is a time division duplex communication (TDD) system.

One approach to receive the multiple communications transmitted withinthe shared spectrum is joint detection. In joint detection, the datafrom the multiple communications is determined together. The jointdetector uses the, known or determined, codes of the multiplecommunications and estimates the data of the multiple communications assoft symbols. Some typical implementations for joint detectors use zeroforcing block linear equalizers (ZF-BLE), Cholesky or approximateCholesky decomposition or fast Fourier transforms.

Communications are received by a receiver at a particular spreadingfactor. The higher spreading factor at which communications arereceived, the more complicated it is to perform joint detection. It istherefore desirable to provide a method and apparatus to reduce thecomplexity of performing joint detection in wireless communicationsystems.

SUMMARY

The present invention is a method and apparatus for reducing multi-userprocessing at a receiver in wireless communication systems. Detectedcodes are grouped according to channel impulse response and a parentcode is identified for each group of detected codes. A matrix A isconstructed and joint detection is performed using the identified parentcodes. Data symbols of the detected codes are obtained from the datasymbols of the identified parent codes.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a transmitter and receiver having a reduced chip-levelmulti-user detection (MUD) processor and a post data converter.

FIG. 2 is a block diagram of components within the reduced chip levelMUD processor.

FIG. 3 is an illustration of a tree structure of orthogonal variablespreading factor (OVSF) codes.

FIG. 4 is a flow chart for grouping detected codes according to theirchannel impulse response and performing joint detection using parentcodes having a lower spreading factor for detected codes having the samechannel impulse response.

DETAILED DESCRIPTION

Although the features and elements of the present invention aredescribed in the preferred embodiments in particular combinations, eachfeature or element can be used alone (without the other features andelements of the preferred embodiments) or in various combinations withor without other features and elements of the present invention.

Herein, a wireless transmit/receive unit (WTRU) includes but is notlimited to a user equipment, mobile station, fixed or mobile subscriberunit, pager, or any other type of device capable of operating in awireless environment. When referred to herein, a base station includesbut is not limited to a Node-B, site controller, access point or anyother type of interfacing device in a wireless environment.

Referring initially to FIG. 1, there is shown a transmitter 20 and areceiver 22. The transmitter may be located at a WTRU or multipletransmitting circuits 20 may be located at a base station. The receivermay be located at either the WTRU, base station, or both.

The receiver 22 includes a reduced chip level multi-user detection (MUD)processor 44 and a post data converter 46. Generally, the processor 44groups detected codes according to their channel impulse responses andperforms joint detection using the detected codes' parent codes fordetected codes having the same channel impulse response (e.g. the codesin a downlink transmission or the codes emanating from the same user inan uplink transmission). Joint detection is performed on individualdetected codes themselves where such detected codes have a channelimpulse response that is not shared by at least one other detected code(i.e. the detected codes are considered parent codes in this case). Thepost data converter 46 is configured to convert back data symbols ofparent codes to the data symbols of the parent codes' respectiveoriginally detected codes.

More specifically, referring now to FIG. 2, the receiver 22 includes acode detector 32, code grouper 34, parent code locator 36, andmulti-user detector (MUD) 44. When a communication is received at aparticular spreading factor, the code detector 32 detects thetransmitted codes. Then, the code grouper 34 groups the codes having thesame channel impulse responses (i.e. groups the codes of a single user).Typically, a single incoming communication is from a single user andtherefore all of the detected codes often have the same channel impulseresponse resulting in a single group. Of course, there may also besituations where there is a plurality of groups. For each group ofdetected codes, the parent code locator 36 identifies a parent code. Asmentioned above, where a detected code has a unique channel impulseresponse (i.e. the detected code does not have the same channel impulseresponse as any other detected code), the detected code is consideredthe detected code's respective parent code.

Once the parent codes are identified, a matrix A constructor 40 of theMUD 44 constructs a matrix A using the parent codes. Matrix A, which asknown to those skilled in the art is a channel/code convolutionalmatrix, is constructed and provided to a joint detector 42 of the MUD44. The joint detector 42 uses matrix A to estimate soft symbols of thespread data. Performing joint detection using the parent codes asopposed to the detected codes results in significantly less complexityat the joint detector 42. The soft symbols estimated by the jointdetector 42 are input to the post data converter 46, which converts theestimated soft symbols back to the original data symbols of theoriginally detected codes.

Referring now to FIG. 3, an orthogonal variable spreading factor (OVSF)code tree 300 is shown. The inventors have recognized that within eachlevel of codes having a particular spreading factor (SF) in an OVSF codetree 300, there may be groupings of codes based upon a unique higherlevel code (i.e. a code having a lower SF). As used herein, a group ofcodes of a given level has a parent code if all codes of the group arebased upon the parent code and no other code of the given level is basedupon the parent code.

To provide an example, assume a communication having four codes with thesame channel impulse response is received at a SF of 16. The four codes302, 304, 306, 308 are detected and grouped together. Then, the detectedcodes 302, 304, 306, 308 are traced back up the OVSF tree 300 as far aspossible to identify a parent code 310 which is a parent to each of thedetected codes 302, 304, 306, 308 and only those detected codes 302,304, 306, 308. Parent code 310 is the only code in the OVSF code tree300 that is a parent code to each of the detected codes 302, 304, 306,308 and only the detected codes 302, 304, 306, 308.

For convenience, the parent code 310 (i.e. 1111) is referred to as C andthe detected codes 302, 304, 306, 308 therefore are CCCC, CCC′C′,CC′CC′, and CC′C′C, respectively, where C′ is -1-1-1-1. The data symbolscorresponding to the detected codes 302, 304, 306, 308 are as follows:

CC CC ← - - - → d^(SF16,1)

CC C′C′ ← - - - → d^(SF16,2)

CC′CC′ ← - - - → d^(SF16,3)

CC′C′C ← - - - → d^(SF16,4)

where d^(SF16,i), i=1, 2, 3, 4 is the data symbol of the i-th code ofthe four detected codes 302, 304, 306, 308 respectively.

In an OVSF code tree 300, the number of data symbols associated with aparticular code varies depending on the code's SF. For example, within a16-chip duration, a code with a SF of 16 can carry one data symbol, acode with a SF of 8 can carry two data symbols, a code with a SF of 4can carry four data symbols, a code with a SF of 2 can carry eight datasymbols, and a code with a SF of 1 can carry 16 data symbols. Further,parent codes can carry the same data symbols as their children codes,but the data symbols carried by a parent code are processed sequentiallywhile the data symbols carried by the parent code's children codes areprocessed in parallel.

Therefore, in FIG. 3, parent code 310 includes information necessary todecode data symbols of detected codes 302, 304, 306, 308. The first datasymbol of parent code 310 includes information for decoding the datasymbol carried by the first four bits of detected codes 302, 304, 306,308. The second data symbol of parent code 310 includes information fordecoding the data symbol carried by the second four bits of detectedcodes 302, 304, 306, 308. The third data symbol of parent code 310includes information for decoding the data symbol carried by the thirdfour bits of detected codes 302, 304, 306, 308. The fourth data symbolof parent code 310 includes information for decoding the data symbolcarried by the fourth four bits of detected codes 302, 304, 306, 308.The relationship between the data symbols of the parent code 310 and thedata symbols of the detected codes 302, 304, 306, 308 may be expressedas follows:

d ₁ ^(SF4) =d ^(SF16,1) +d ^(SF16,2) +d ^(SF16,3) +d ^(SF16,4)

d ₂ ^(SF4) =d ^(SF16,1) +d ^(SF16,2) −d ^(SF16,3) −d ^(SF16,4)

d ₃ ^(SF4) =d ^(SF16,1) −d ^(SF16,2) +d ^(SF16,3) −d ^(SF16,4)

d ₄ ^(SF4) =d ^(SF16,1) −d ^(SF16,2) −d ^(SF16,3) +d ^(SF16,4)

where d_(i) ^(SF4), i=1, 2, 3, 4 are the four data symbols of the parentcode 310. As explained above, the total number of data symbols carriedby parent code 310 and detected codes 302, 304, 306, and 308 are thesame, but the data symbols of parent code 310 are processed sequentiallywhile the data symbols of detected codes 302, 304, 306, and 308 areprocessed in parallel.

In the above example, the parent code 310 is used for constructingmatrix A and for performing joint detection. This results insignificantly less complexity at the MUD than using detected codes 302,304, 306, and 308. The original data symbols carried by detected codes302, 304, 306, and 308 are recovered by the post data converter 46. Inone embodiment, the original data symbols may be obtained according to:

d ^(SF16,1)=¼(d ₁ ^(SF4) +d ₂ ^(SF4) +d ₃ ^(SF4) +d ₄ ^(SF4))

d ^(SF16,2)=¼(d ₁ ^(SF4) +d ₂ ^(SF4) −d ₃ ^(SF4) −d ₄ ^(SF4))

d ^(SF16,3)=¼(d ₁ ^(SF4) −d ₂ ^(SF4) +d ₃ ^(SF4) −d ₄ ^(SF4))

d ^(SF16,4)=¼(d ₁ ^(SF4) −d ₂ ^(SF4) −d ₃ ^(SF4) +d ₄ ^(SF4))

As can be seen from the above relationship, converting back to theoriginal data symbols requires only four additions and onemultiplication for each of the parent code's 310 four data symbols.

Referring now to FIG. 4, there is shown a flow chart of a method 400 forgrouping detected codes according to their channel impulse response andperforming joint detection using parent codes having a lower spreadingfactor for detected codes having the same channel impulse response. Themethod 400 begins in step 402 with detecting transmitted codes in areceived communication. Then, it is determined whether there are anydetected codes having the same channel impulse response. If there aredetected codes having the same channel impulse response, those detectedcodes are group together in step 406 and the method 400 proceeds to step408. If there are no detected codes with the same channel impulseresponse, the method proceeds directly to step 408.

In step 408, a parent code(s) is identified for each group of detectedcodes. Then, in step 410, the identified parent code(s) are used toconstruct matrix A. Matrix A is provided to a joint detector and jointdetection is performed in step 412. In step, 414, the demodulated datasymbols are converted back to the original data symbols of the codesdetected in step 402.

It is noted that to reduce the complexity at a receiver a transmittershould use lower spreading factors for code transmission, and thereceiver should use the same spreading factors as the transmitter fordespreading and demodulation. However, when the transmitter uses higherspreading factors for transmission the receiver can still reducecomplexity by using lower spreading factors for despreading anddemodulation and using a post data converter to recover the originaldata symbols of higher spreading factors from data symbols of lowerspreading factors.

It is important to note that the present invention may be implemented inany type of wireless communication system employing orthogonal codes. Byway of example, the present invention may be implemented in CDMA2000,UMTS-TDD, UMTS-FDD, TDSCDMA, any type of WLAN system including any typeof 802.xx system, or any other type of wireless communication system.Further, while the present invention has been described in terms ofvarious embodiments, other variations, which are within the scope of theinvention as outlined in the claim below will be apparent to thoseskilled in the art

1. A method for reducing processing complexity of multi-user detectionin a receiver in a code division multiple access (CDMA) wirelesscommunication system, the method comprising: detecting codes used totransmit data symbols; identifying a parent code for the detected codes;performing joint detection using the parent code; obtaining the datasymbols carried by the codes; identifying a channel impulse response foreach of the detected codes; and grouping the detected codes having thesame channel impulse response, wherein the parent code is identified foreach group of codes.
 2. The method of claim 1 wherein the code is anorthogonal variable spreading factor (OVSF) code.
 3. The method of claim1 further comprising: constructing a channel convolution matrix usingthe identified parent code, wherein the joint detection is performed byusing the channel convolution matrix.
 4. The method of claim 1 wherein achannel convolution matrix is constructed for each group of codes usingthe identified parent code for each group of codes, wherein the jointdetection is performed by using the channel convolution matrix.
 5. Themethod of claim 1 wherein a detected code having unique channel impulseresponses is considered as a parent code.
 6. A receiver for reducingprocessing complexity of multi-user detection in a code divisionmultiple access (CDMA) wireless communication system, the receivercomprising: a code detector for detecting codes used to transmit datasymbols; a parent code locator for identifying a parent code for thedetected codes; a joint detector for performing joint detection usingthe parent code; a post data converter for obtaining the data symbolscarried by the codes; a channel estimator for identifying a channelimpulse response for each of the detected codes; and a code grouper forgrouping the detected codes having the same channel impulse response,wherein the parent code is identified for each group of codes.
 7. Thereceiver of claim 6 wherein the code is an orthogonal variable spreadingfactor (OVSF) code.
 8. The receiver of claim 6 further comprising: achannel convolution matrix constructor for constructing a channelconvolution matrix using the identified parent code, wherein the jointdetector performs the joint detection using the channel convolutionmatrix.
 9. The receiver of claim 6 further comprising: a channelconvolution matrix constructor for constructing a channel convolutionmatrix for each group of codes using the identified parent code for eachgroup of codes, wherein the joint detector performs the joint detectionusing the channel convolution matrix.
 10. The receiver of claim 6wherein the parent code locator identifies a detected code having uniquechannel impulse responses as a parent code.